Click here to return to the VHDL Reference Guide. (last edit: 24. september 2012)

Declaration

The following parts of the language can be written in those sections of the syntax where declarations are allowed:
  Procedure
  Procedure Body
  Function
  Function Body
  Type
  Subtype
  Constant
  Signal
  Variable
  Shared Variable
  File
  Component
  Configuration Specification
  Alias
  Attribute
  Disconnect
  Use
  Group Template
  Group
    

Where

 PACKAGE Pack IS
   ... 
 END PACKAGE Pack;
 PACKAGE BODY Pack IS
   ... 
 END PACKAGE BODY Pack;
 Blk:BLOCK
   ... 
 BEGIN
   ...
 END BLOCK Blk;
 ENTITY Ent IS
   ... 
 BEGIN
   ...
 END ENTITY Ent;
 ARCHITECTURE Arc OF Ent IS
   ... 
 BEGIN
   ...
 END ARCHITECTURE Arc;
 CONFIGURATION Conf OF Ent IS
   ...
 END CONFIGURATION Conf;
 Proc:PROCESS(...)
   ... 
 BEGIN
   ... 
 END PROCESS Proc;
 PROCEDURE P(...) IS
   ... 
 BEGIN
   ... 
 END PROCEDURE P;
 FUNCTION F(...) RETURN Tp IS
   ... 
 BEGIN
   ... 
 END FUNCTION F;
  package--end
  package body--end
  entity-is--begin-end
  architecture-is--begin-end
  block--begin-end
  generate--begin-end
  process--begin-end
  function-is--begin-end
  procedure-is--begin-end

Exclusions

  Region             Cannot contain Declaration
  Entity             Component, Configuration, Variable
  Architecture       Variable
  Block              Variable
  Generate           Variable

  Package            Configuration, Variable, Function Body, Procedure Body
  Package Body       Component, Configuration, Signal, Variable, Attribute,
                     Disconnect
  Process            Component, Configuration, Signal, Shared Variable,
                     Disconnect
  Function           Component, Configuration, Signal, Shared Variable,
                     Disconnect
  Procedure          Component, Configuration, Signal, Shared Variable,
                     Disconnect

  Declaration        Not Allowed In Region
  Attribute          Package Body
  Component          Entity, Package Body, Process, Function, Procedure
  Configuration      Entity, Package, Package Body, Process, Function,
                     Procedure
  Disconnect         Package Body, Process, Function, Procedure
  Signal             Package Body, Process, Function, Procedure
  Function Body      Package
  Procedure Body     Package
  Shared Variable    Process, Function, Procedure
  Variable           Entity, Architecture, Block, Generate, Package, Package
                     Body